import java.util.*;

abstract class ProjectItem {

	private String name;
	private String details;
	private double rate;
	
	public ProjectItem(String name, String details, double rate){
		this.name=name;
		this.details=details;
		this.rate=rate;
	}
	
	public void setDetails(String newDetail){
		this.details=newDetail;
	}
	
	public double getCostEstimate(){
		return rate * getTimeRequired() + getMaterialsCost();
	}
	
	public Set<Deliverable> allDeliverables(){
		//return null;
		return new HashSet<Deliverable>();
	}
	
	abstract double getTimeRequired();
	
	abstract double getMaterialsCost();
	
}
